In many applications, such as Adobe Acrobat, Microsoft Internet Explorer, and Google's Picasa, scrollbars are provided for navigating large documents on small display screens or in small windows. Scrolling is generally performed with two separate scrollbars—i.e., one scrollbar placed to the right of the window that allows a user to scroll along the vertical axis and another scrollbar placed at the bottom of the window that allows the user to scroll along the horizontal axis. Note that, when using these scrollbars, scrolling along either the vertical axis or the horizontal axis can be done independently, but not simultaneously.
Moreover, interacting with multiple-column, multiple-page documents in small windows or on small displays (e.g., on a mobile device) often results in the user being interrupted when transitioning from the end of one column or page to the beginning of the next column or page. In addition, navigating these transitions typically requires the use of a two-dimensional input device, such as a mouse for scrolling between columns and pages. This can be especially tedious when the display is smaller than the size at which a page of the document can comfortably be read.
Various approaches and hardware devices attempt to address these problems by allowing users to scroll in an arbitrary two-dimensional direction. For example, a mouse button may be used to define an initial anchor position, such that the scrolling direction is determined by the vector between the anchor position and the potentially changing position of the mouse cursor and the scrolling speed is proportional to the magnitude of that vector. However, each such approach or device requires precise steering to navigate a potentially complex two-dimensional path required for reading, for example, a multiple-column, multiple-page document. Furthermore, systems that allow two-dimensional panning often require that the user “clutch” and “declutch” the mouse (i.e., physically lift and move the mouse to reposition it) due to large traversal distances.
Another approach attempts to address these problems by reformatting the content to provide user with one-dimensional navigation in the vertical direction. For example, the content may be reformatted by turning a multiple-column document into a single column document that fits within the width of the display device. This, however, makes it difficult for users to relate material in the reformatted document to material in the original document. More particularly, this approach ignores the importance of the intended layout of the document.
Other approaches designate an ordered set of discrete items in a display and use keystrokes to navigate from one discrete item to another. For example, Microsoft Internet Explorer and other web browsers allow users to navigate through a set of hyperlinks on a webpage using the tab and shift tab keys. This approach, however, is not effective on documents that do not contain author-constructed hyperlinks. That is, a content path cannot be automatically extracted from the webpage or other document.
There is therefore a need in the art for approaches that provide content-aware scrolling. Accordingly, it is desirable to provide methods, systems, and media that overcome these and other deficiencies of the prior art.